Power Macintosh (or compatible) running Mac OS 7.5 and a W*API 1.2-compatable web server (such as WebSTAR 2.1 or later).
Installation
To install, place the WebSentinel Plug-in and the WebSentinel Data folder in your WebSTAR Plug-ins folder. You can put WebSentinel Admin anywhere, as long as it's on a machine in the same AppleTalk network as your web server. For more complete details, see the WebSentinel Users Guide included with this package. For information on upgrading from a previous version of WebSentinel, see the Upgrading section of this document.
Without a serial number, the WebSentinel Plug-in will only function for 2 hours at a time. You can enter a new serial number at anytime using WebSentinel Admin.
New Features in WebSentinel 2.0.3
Although WebSentinel 2.0.5 is primarily a maintenance update that fix bugs and improve general stability and performance, there were two new features added in WebSentinel 2.0.3.
Basic support for virtual hosts
WebSentinel has been improved to recognize the hostname as specified in the URL for the web page request. This brings better compatability with WebSTAR 3.0 and other virtual domain managers. If you would like to have a realm that matches a specific hostname, you can specify that hostname in the match string for that realm. For example, the following are valid match strings: "www.mycompany.com" (matches all files in that site) and "www.mycompany.com/private-files/" (matches any files in the private-files folder of that virtual site, but will not match if a URL contained "private-files" but was not "www.mycompany.com").
Exporting and importing in WebSentinel format
WebSentinel can now export and import in a special file format that includes all realms, users, groups, and workstations for a specific data target. To export your data, launch WebSentinel Admin and open the main users window for the data target you wish to export. Then select "Export Users" from the File menu and choose "WebSentinel Format" when asked which type of file to export to. Your data will then be exported to the specified file. When you wish to import this data back into WebSentinel, open the main users window in WebSentinel Admin and choose "Import Users" from the File menu. After selecting the original exported file, your realms, users, groups, and workstations will be saved back into WebSentinel. Exporting using the WebSentinel export format is an easy way to backup your data, although we also recommend that you make regular backups of your WebSentinel Data folder as well (located in the web server's Plug-ins folder).
New Features in WebSentinel 2.0
WebSentinel 2.0 is a major upgrade to WebSentinel 1.0 that offers a number of new features. Some of the hilites include:
- Re-write of many underlying components, bringing faster performance and stability, simplified installation and troubleshooting, and less memory requirements.
- Ability to define "Workstations" in addition to users, so that specific machines or ranges of machines can be automatically allowed into a realm.
- New realm capabilities, such as redirecting any request for a section of your site to a new URL.
- Option to allow users to log-in through a customizable HTML form using cookies.
- Ability to add "change user password" pages to your site, so that users can change their password automatically.
- Expiration options for users: users can automatically be expired by WebSentinel on a given date, after a number of days, or even after a number of requests for a given realm.
- PIXO support for dynamically generated No Access and Log-in pages.
For new users of WebSentinel, the best way to get acquainted with WebSentinel 2.0 is to look over the manual for WebSentinel 1.0, since it will give you a good overview of the product. After you understand the basics of WebSentinel, take a look at this brief introduction to some of the new features of WebSentinel 2.0.
New Realm Types
Whereas WebSentinel 1.0 had the basic Authenticate realm for prompting the user to login to the protected area, WebSentinel 2.0 has split the Authenticate realm into two types: "Authenticate (HTTP)" and "Authenticate (form)". The Authenticate (HTTP) realms work as before, prompting the user to login through the standard browser dialog box. The Authenticate (form) version instead uses an HTML-based form for login. This has a number of advantages, including the ability to completely customize the look of the login page, plus the ability to have a different page that users see if their username/password was not accepted.
The other new type of realm is a simple Redirect realm, which allows you to redirect the user to any URL when the request matches that realm type. This can be especially useful if some parts of your site have moved. For example, if a section of your site is at "/trees/oak.html", you could redirect the user to that page anytime the URL contained "oak", even if they got the exact path wrong.
To create one of these new realm types, open the main Realms window and choose New Realm from the File menu. From the realm detail window you can choose the type of realm from the Action popup menu.
Workstations
In addition to a basic user, you can now define special "workstations" that represent a given machine or range of machines. Workstations act just like users in that you can assign them to realms and groups, but they differ in that workstations are automatically logged in to the web server if they match. For example, if a workstation is defined with an address that starts with "127.0", any machine that request a protected realm which that workstation belongs to, as long as their IP address starts with 127.0 (for example, "127.0.0.1"), will automatically be let into the realm. If the check fails, then the user is prompted to login as they normally would have to. This feature allows you to setup a group of machines (for example, any machine at your office) that gets immediately let in; when a user tries to get into the protected area from home, though, where the IP address would not match, he can enter his username and password and still be let in.
To create a new workstation, first open the main users window by clicking on the users icon of the WebSentinel floating window (or by choosing the appropriate target from the Window menu). Then simply choose New Workstation from the File menu, or hit Command-shift-N.
Expiring User Accounts
One of the most exciting new features of WebSentinel 2.0, and one that is a direct result of feedback received from our users, is the ability to have user accounts expire. Once a user expires, they will no longer be able to access pages in a protected realm. The expiration feature is very flexible, allowing the administrator to setup a user to expire on a given date, or after a number of days, or even after a number of requests for a certain realm. This feature is very useful for subscription-based sites, making the setup of user accounts that automatically expire a breeze.
To set a user's expiration options, first open the user detail for the user by double-clicking on it. Then choose User Options from the Edit menu, or click on the Options button in the user detail window.
Simple Change Password Pages
It's easy to allow a user to change their own password with WebSentinel 2.0. If you have a realm with a match string of "test", just add a link to "/test/changepass.sentinel". WebSentinel will automatically serve a default change password page that allows the user to choose a new password. Since the realm match string has to be included in the change password URL, the user will already be logged in before they can change their password. WebSentinel stores these default change password pages in the Templates folder of the WebSentinel Data folder. You can customize these directly, or you can copy them to to another realm's folder (if it has one) so that each realm can have a separate "look and feel" for the change password pages.
Administration Groups
Sometimes it is useful to have a set of users that have access to every realm, without having to update their privileges every time a new realm is created. Doing this in WebSentinel 2.0 is easy with Admin Groups, since an Admin Group automatically has access to all realms.
To create an admin group, first open the main groups window. Then choose New Admin Group from the File Menu, or hit Command-shift-N. A new Admin Group user will be added and opened. To assign users to that group, simply select a set of users and drag them into the users pane of the Admin Group detail window. You can always identify an Admin Group by the dark outline around it's icon.
Upgrading from WebSentinel 2.0
If you are upgrading from a previous version of WebSentinel, it is strongly recommended that you first backup all your WebSentinel files; specifically, everything in the WebSentinel Data folder of your web server's Plug-ins folder. To update to WebSentinel 2.0.5, you will simply need to replace your existing 2.0 components with the newer 2.0.5 versions.
First, quit your web server software if it is running. Then, replace your existing WebSentinel Plug-in file (located in the web server's Plug-ins folder) with the newer version in the "(Drop in Server Plug-ins)" folder that came with this package. You will also need to update the WebSentinel Data Target Plug-ins. To do this, copy the contents of the Data Targets folder (located inside the WebSentinel Data folder of the "(Drop in Server Plug-ins)" folder) into your existing Data Targets folder inside your WebSentinel Data folder, replacing the existing plug-ins. You may now re-launch your web server software.
You should also remove your old copy of the WebSentinel Admin application, and use the newer one included with WebSentinel 2.0.5.
Once you are up and running with WebSentinel 2.0.5, we also recommend that you export all your data to the new WebSentinel format, which can be imported back into WebSentinel at a later date. If you ever had database corruption problems, exporting your data in this format, deleting your WebSentinel Settings, Users.db, and Groups.db files, and then imported the data back into WebSentinel will ensure that you are starting from a clean state. For more information on exporting in this format see the description under "New Features in WebSentinel 2.0.3" at the beginning of this document.
Upgrading from WebSentinel 1.0
If you are upgrading from WebSentinel 1.0, it is strongly recommended that you first backup all your WebSentinel files; specifically, everything in the WebSentinel Data folder of your web server's Plug-ins folder. Then, quit your web server and turn off remove administration of WebSentinel using the WebSentinel Setup control panel. Now, replace your old copy of the WebSentinel Plug-in with the new version, and move the new Data Targets folder (with the Built-in plug-in inside) into the existing WebSentinel Data folder.
WebSentinel 2.0 will automatically convert your settings file (and any database files you have using the Built-in Data Target) to the new database format. Before updating the settings file on startup, it will move the original copy to the Trash. The new location for the Built-in Data Target's database files is in a folder called "Storage" inside the WebSentinel Data folder, and WebSentinel will automatically move existing databases in the WebSentinel Data folder into this new Storage folder on startup.
The location for WebSentinel Data Target plug-ins has changed. The WebSentinel Data Target plug-ins now need to be in a folder called "Data Targets" inside the "WebSentinel Data" folder of the web server's Plug-ins folder. Previously, they were placed in a folder called "WebSentinel Plug-ins" in your Extensions folder; this folder can now be safely removed.
Several files from WebSentinel 1.0 are no longer needed. Specifically, they are SupportLib (stored in the WebSentinel Plug-ins folder of the Extensions folder), and WebSentinel Gateway and WebSentinel Setup (both stored in the WebSentinel Data folder). Remote administration using WebSentinel Admin is now automatically on by default when the web server is running, so there is no need for the WebSentinel Setup control panel, or its alias in the Control Panels folder.
Customer Support
It is very unfortunate that many companies around today seem to have forgotten one of the most important aspects of business: customer support. We are here to help you gain the highest benefit possible using our products. Please take the time to contact us if you need a little support!
- Improved scripting interface, fixing bugs, making more parameters optional, and allowing "true" or "false" strings to be passed for some Boolean parameters (i.e. GREP) to support Tango.
- Fixed bug that caused realm priorities inside WebSentinel Plug-in to not update until a new realm was added.
- Fixed potential crash with long URLs.
- Fixed bug that caused expiring users after X requests to not work correctly.
- Fixed memory leak inside WebSentinel Plug-in.
- Changed default created Verona databases to not have indexing turned on for any fields.
- Updated the Scripting folder inside the Extras folder with examples for adding a realm or user to WebSentinel from Tango.
- Many other minor fixes.
2.0.4 (11/4/98)
- Fixed bug that could cause realms to break with an error 148 after server was running for a while, or under high load.
- Updated banner image in web-based administration.
2.0.3 (10/28/98)
- Fixed memory leaks when errors occured in some areas of web-based admin.
- Added option to import and export in WebSentinel format.
- Fixed bug in WebSentinel Admin that could cause random problems when working in the main users window.
- Fixed bug when closing realms window in WebSentinel Admin.
- Fixed bug in WebSentinel Admin that caused command-W to not close the front window if a drag was just performed from an inactive window.
- Fixed bugs in WebSentinel Plug-in when resizing memory and working with saved W*API parameter blocks.
- Updated default Templates with fancy looking versions.
- Fixed redraw problem when WebSentinel Plug-in status window is opened.
- Re-added Menu Sharing support for Userland Frontier.
- Compiled WebSentinel Plug-in with CodeWarrior Pro 4.
- Added support for automatically showing Quid Pro Quo and TeleFinder in addition to WebSTAR and WebTen in the "Connect to..." process browser. (You can list all processes by holding down the shift key while this dialog is updating.)
- Changed behavior of automatically created realms when importing users to have a match string of "(unknown)" instead of an empty match string.
- Fixed bug when importing users that caused automatically created realms to contain random flags/redirect_url fields.
- Fixed bug in WebSentinel Plug-in when deleting a realm.
- Fixed bug when converting 1.0 settings file that would cause WebSentinel to abort initialization if a file named "WebSentinel Settings (old)" was already in the Trash.
- Added support for basic verification of database files. (If corruption is found, WebSentinel attempts to recover valid records and moves a copy of the original corrupted file to the Trash.)
- Changed default creator code for WebSentinel Settings file to WebSentinel Admin's signature.
- Changed location of temporary WebSentinel Gateway background application to Preferences folder instead of Temporary Items folder.
- Added support for being able to specify a host name in the match string for a realm (e.g. "www.mycompany.com" or "www.mycompany.com/myfiles/").
- Fixed several places where it was possible for the original resource fork (probably WebSTAR's) to not be restored when reading from the WebSentinel Plug-in's resource fork.
- Fixed bugs that could cause errors when closing group detail window and updating user permissions for group.
- Sped up building groups list in main groups window of WebSentinel Admin.
- Fixed bug that could cause "garbage" user/group/realm to appear briefly after deleting any item from WebSentinel Admin.
- Fixed bug in WebSentinel Plug-in that caused no access reply to be empty for "Always Deny" realms.
- Fixed bug that would cause "add user" and "add group" scripting events to fail.
- Removed "This user/group had access to a realm that has been deleted" error message.
2.0.2 (10/6/98)
- Fixed bug that caused database files to not be closed properly.
- Fixed several bugs in web-based admin.
- Improved many areas of WebSentinel Plug-in when managing memory and handling errors.
- Fixed potential security hole with some URLs.
- Fixed potential problems for crashes with long URLs.
- Fixed major bugs in database file format that could cause corruption to users and groups database with large numbers of users under some situations. (Could also effect WebSentinel Settings file with many many hundreds of realms.)
- Fixed bugs when duplicating users or groups in WebSentinel Admin.
- Changed behavior of web-based admin to make sure that the request is inside a realm.
- Changed behavior with modified URI request to strip everything after ? or $ instead of replacing those characters.
- Many more minor improvements and changes to WebSentinel Plug-in.
2.0.1 (8/31/98)
- Fixed icon problems in WebSentinel Admin when duplicating users.
- Improved many areas of the code including memory allocation and exception handling.
- Fixed bug that caused a crash if there was an error initializing WebSentinel on startup.
- Fixed bug that caused WebSentinel to be completely disabled if certain realm information could not be initialized (e.g. a data target library could not be found).
- Updated WebSiphon and Userland Frontier scripting examples and compatability files.
- Fixed potential for "corrupted" realm/user/group items to appear in WebSentinel Admin lists when an error occured while adding the item to the database.
- Added code to periodically check if WebSentinel Admin is still connected to the web server.
- Added dialog box to WebSentinel Admin on startup if user turned debugging mode on (holding down shift key).
- Decreased stack-based memory usage in WebSentinel Plug-in.
- Fixed several bugs related to setting up WebSentinel Data Target Plug-ins when new targets were added.
- Added support in WebSentinel API for sentinel_StandardHeader in Sentinel_GetServerVariable callback.
- Changed second param of Sentinel_GetServerVariable in API to void * to allow for other options.
- Added Sentinel_SendEvent callback to WebSentinel API for data targets to send Apple events.
- Bumped WebSentinel API version to 1.2 (all components must be 1.2-compatable).
- Fixed bug that caused WebSentinel to be completely disabled if errors occured while building the internal list of Data Targets (e.g. alias to data target was no longer valid).
- Added more known error codes to WebSentinel Plug-in to improve error reporting.